/**
 * express 使用cookie
 * cookie 默认保存在浏览器本地，如果没有过期，关闭浏览器后还是存在cookie
 * 常用参数设置：
 *  doamin  域名，cookie可以在二级域名下共享
 *  maxAge  设置过期时间  maxAge:90000 //90秒后过期s
 *  expires 设置过期时间  nexpires: new Date(Date.now() +90000)  //90秒后过期
 *  secure  设置访问协议，true 只对https有效，false 只对http有效，默认为false
 *  path    设置cookie有效路径，只有在符合path的才会发送cookie
 *  httpOnly 设置为true，只有在nodejs服务端可以访问，没法用js等来操作
 *  signed   是否签名cookie，
 *
 */
const express = require('express');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');

const app = express();

app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.use(cookieParser()); //设置cookie

app.get('/',function (req,res) {
    console.log(req.cookies);
    res.send('hello express');
});

app.get('/set',function (req,res) {
    /**
     * 参数1 key
     * 参数2 value
     * 参数3 cookie的设置信息
     * maxAge 过期时间
     * httpOnly  设置为true，只有在nodejs服务端可以访问，没法用js等来操作
     */
    res.cookie("name",'zhangsan',{maxAge: 900000 ,httpOnly: true});
    //HttpOnly 默认 false 不允许 客户端脚本访问
    res.send('set');
});

app.get('/get',function (req,res) {
    //读取cookie
    console.log(req.cookies);
    res.send('get cookie name:'+req.cookies.name);
});

app.get('/news',function (req,res) {
    //读取cookie
    console.log(req.cookies);
    res.send('get cookie name:'+req.cookies.name);
});

app.listen(3001,'localhost');